package com.xhtt.modules.task.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xhtt.common.utils.PageUtils;
import com.xhtt.modules.sys.entity.SysUserEntity;
import com.xhtt.modules.task.entity.TaskOperPlan;
import com.xhtt.modules.task.entity.TaskOperSeo;
import com.xhtt.modules.task.entity.TaskOperTask;
import com.xhtt.modules.task.model.TaskOperModel;
import com.xhtt.modules.task.model.oper.ArrangeModel;
import com.xhtt.modules.task.model.oper.TaskOperCCRModel;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 操作分支任务-任务分配计划 服务类
 * </p>
 *
 * @author feipc
 * @since 2019-03-09
 */
public interface TaskOperTaskService extends IService<TaskOperTask> {

    ArrangeModel getTaskDetail(Integer id, SysUserEntity user);

    void pubTask(List<TaskOperTask> tasks, SysUserEntity user);

    PageUtils confirmTaskList(Map<String,Object> params);

    TaskOperModel taskOperDetail(Integer taskId);

    void tempSave(TaskOperModel model);

    void submitTask(TaskOperModel model);

    void commitTask(TaskOperModel model);

    void pubTempTask(TaskOperPlan operPlan);

    List<TaskOperTask> shiftsList(Integer selfId);

    List<TaskOperCCRModel> taskCCRDetail(Integer taskId, int userId);

    String taskCCRStatus(Integer taskId);

    void start(Integer taskId);

    PageUtils seoList(Map<String,Object> params);

    void seoEdit(TaskOperSeo seo, SysUserEntity user);
}
